﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace VEXREDUS_GS_control
{
    class GlobalVar
    {
        private static string p_udpsendstring = "";
        public static string udpsendstring { get { return p_udpsendstring; } set { p_udpsendstring = value; } }

        //logfile writing
        private static string p_logflightpathfile_path = @"C:\vexredus\vexredus-log-flightpath.txt";
        public static string logflightpathfile_path { get { return p_logflightpathfile_path; } set { p_logflightpathfile_path = value; } }

        private static string p_homebasefile_path = @"C:\vexredus\vexredus-homebase.txt";
        public static string homebasefile_path { get { return p_homebasefile_path; } set { p_homebasefile_path = value; } }

        //private static string p_logflightpathfiletest_path = @"C:\vexredus\vexredus-log-flightpath_test.txt";
        //public static string logflightpathfiletest_path { get { return p_logflightpathfiletest_path; } set { p_logflightpathfiletest_path = value; } }

        private static int p_logflightpath_id = Form1.GetFlightPathID() + 1;
        public static int logflightpath_id { get { return p_logflightpath_id; } set { p_logflightpath_id = value; } }


        //parser
        //parser - Position
        private static float p_current_loc_lat;
        public static float current_loc_lat { get { return p_current_loc_lat; } set { p_current_loc_lat = value; } }

        private static float p_current_loc_lon;
        public static float current_loc_lon { get { return p_current_loc_lon; } set { p_current_loc_lon = value; } }

        private static float p_current_loc_gpsalt;
        public static float current_loc_gpsalt { get { return p_current_loc_gpsalt; } set { p_current_loc_gpsalt = value; } }

        private static float p_current_numsats;
        public static float current_numsats { get { return p_current_numsats; } set { p_current_numsats = value; } }

        private static float p_current_gpsstatus;
        public static float current_gpsstatus { get { return p_current_gpsstatus; } set { p_current_gpsstatus = value; } }

        private static float p_current_fpcase;
        public static float current_fpcase { get { return p_current_fpcase; } set { p_current_fpcase = value; } }
        
        //parser - Attitude
        private static float p_current_ahrs_roll;
        public static float current_ahrs_roll { get { return p_current_ahrs_roll; } set { p_current_ahrs_roll = value; } }

        private static float p_current_ahrs_pitch;
        public static float current_ahrs_pitch { get { return p_current_ahrs_pitch; } set { p_current_ahrs_pitch = value; } }

        private static float p_current_ahrs_yaw;
        public static float current_ahrs_yaw { get { return p_current_ahrs_yaw; } set { p_current_ahrs_yaw = value; } }

        private static float p_current_gpshd;
        public static float current_gpshd { get { return p_current_gpshd; } set { p_current_gpshd = value; } }

        private static float p_current_gpsgroundspeed;
        public static float current_gpsgroundspeed { get { return p_current_gpsgroundspeed; } set { p_current_gpsgroundspeed = value; } }
        
        private static float p_current_distancewp;
        public static float current_distancewp { get { return p_current_distancewp; } set { p_current_distancewp = value; } }



        //parser - Housekeeping
        
        private static float p_current_millis;
        public static float current_millis { get { return p_current_millis; } set { p_current_millis = value; } }

        private static float p_current_parachutetime;
        public static float current_parachutetime { get { return p_current_parachutetime; } set { p_current_parachutetime = value; } }

        private static float p_current_distancehome;
        public static float current_distancehome { get { return p_current_distancehome; } set { p_current_distancehome = value; } }

        private static float p_current_ascent_or_launched;
        public static float current_ascent_or_launched { get { return p_current_ascent_or_launched; } set { p_current_ascent_or_launched = value; } }

        private static float p_current_last_contact_time;
        public static float current_last_contact_time { get { return p_current_last_contact_time; } set { p_current_last_contact_time = value; } }


        //parser - Fixed Descent Angles
        private static float p_current_angle;
        public static float current_angle { get { return p_current_angle; } set { p_current_angle = value; } }

        private static float p_current_course;
        public static float current_course { get { return p_current_course; } set { p_current_course = value; } }

        private static float p_current_useangle;
        public static float current_useangle { get { return p_current_useangle; } set { p_current_useangle = value; } }

        private static float p_current_usecourse;
        public static float current_usecourse { get { return p_current_usecourse; } set { p_current_usecourse = value; } }


        //parser - Scalers
        private static string p_current_scalers;
        public static string current_scalers { get { return p_current_scalers; } set { p_current_scalers = value; } }


        //parser Debug
        //FIXME REMOVE
        private static string p_parserdebug_msg_a;
        public static string parserdebug_msg_a { get { return p_parserdebug_msg_a; } set { p_parserdebug_msg_a = value; } }

        private static string p_parserdebug_msg_b;
        public static string parserdebug_msg_b { get { return p_parserdebug_msg_b; } set { p_parserdebug_msg_b = value; } }

        private static string p_parserdebug_lat;
        public static string parserdebug_lat { get { return p_parserdebug_lat; } set { p_parserdebug_lat = value; } }

        

    }
}
